home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / SizeRequirements.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  2.8 KB  |  143 lines

  1. package javax.swing;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class SizeRequirements implements Serializable {
  6.    public int minimum;
  7.    public int preferred;
  8.    public int maximum;
  9.    public float alignment;
  10.  
  11.    public SizeRequirements() {
  12.       this.minimum = 0;
  13.       this.preferred = 0;
  14.       this.maximum = 0;
  15.       this.alignment = 0.5F;
  16.    }
  17.  
  18.    public SizeRequirements(int var1, int var2, int var3, float var4) {
  19.       this.minimum = var1;
  20.       this.preferred = var2;
  21.       this.maximum = var3;
  22.       this.alignment = var4 > 1.0F ? 1.0F : (var4 < 0.0F ? 0.0F : var4);
  23.    }
  24.  
  25.    public static int[] adjustSizes(int var0, SizeRequirements[] var1) {
  26.       return new int[0];
  27.    }
  28.  
  29.    public static void calculateAlignedPositions(int var0, SizeRequirements var1, SizeRequirements[] var2, int[] var3, int[] var4) {
  30.       int var5 = (int)((float)var0 * var1.alignment);
  31.       int var6 = var0 - var5;
  32.  
  33.       for(int var7 = 0; var7 < var2.length; ++var7) {
  34.          SizeRequirements var8 = var2[var7];
  35.          int var9 = (int)((float)var8.maximum * var8.alignment);
  36.          int var10 = var8.maximum - var9;
  37.          int var11 = Math.min(var5, var9);
  38.          int var12 = Math.min(var6, var10);
  39.          var3[var7] = var5 - var11;
  40.          var4[var7] = (int)Math.min((long)var11 + (long)var12, 2147483647L);
  41.       }
  42.  
  43.    }
  44.  
  45.    public static void calculateTiledPositions(int var0, SizeRequirements var1, SizeRequirements[] var2, int[] var3, int[] var4) {
  46.       long var5 = 0L;
  47.       long var7 = 0L;
  48.       long var9 = 0L;
  49.  
  50.       for(int var11 = 0; var11 < var2.length; ++var11) {
  51.          var5 += (long)var2[var11].minimum;
  52.          var7 += (long)var2[var11].preferred;
  53.          var9 += (long)var2[var11].maximum;
  54.       }
  55.  
  56.       if ((long)var0 >= var7) {
  57.          expandedTile(var0, var5, var7, var9, var2, var3, var4);
  58.       } else {
  59.          compressedTile(var0, var5, var7, var9, var2, var3, var4);
  60.       }
  61.  
  62.    }
  63.  
  64.    private static void compressedTile(int var0, long var1, long var3, long var5, SizeRequirements[] var7, int[] var8, int[] var9) {
  65.       float var10 = (float)Math.min(var3 - (long)var0, var3 - var1);
  66.       float var11 = var3 - var1 == 0L ? 0.0F : var10 / (float)(var3 - var1);
  67.       int var12 = 0;
  68.  
  69.       for(int var13 = 0; var13 < var9.length; ++var13) {
  70.          var8[var13] = var12;
  71.          SizeRequirements var14 = var7[var13];
  72.          int var15 = (int)(var11 * (float)(var14.preferred - var14.minimum));
  73.          var9[var13] = var14.preferred - var15;
  74.          var12 = (int)Math.min((long)var12 + (long)var9[var13], 2147483647L);
  75.       }
  76.  
  77.    }
  78.  
  79.    private static void expandedTile(int var0, long var1, long var3, long var5, SizeRequirements[] var7, int[] var8, int[] var9) {
  80.       float var10 = (float)Math.min((long)var0 - var3, var5 - var3);
  81.       float var11 = var5 - var3 == 0L ? 0.0F : var10 / (float)(var5 - var3);
  82.       int var12 = 0;
  83.  
  84.       for(int var13 = 0; var13 < var9.length; ++var13) {
  85.          var8[var13] = var12;
  86.          SizeRequirements var14 = var7[var13];
  87.          int var15 = (int)(var11 * (float)(var14.maximum - var14.preferred));
  88.          var9[var13] = (int)Math.min((long)var14.preferred + (long)var15, 2147483647L);
  89.          var12 = (int)Math.min((long)var12 + (long)var9[var13], 2147483647L);
  90.       }
  91.  
  92.    }
  93.  
  94.    public static SizeRequirements getAlignedSizeRequirements(SizeRequirements[] var0) {
  95.       SizeRequirements var1 = new SizeRequirements();
  96.       SizeRequirements var2 = new SizeRequirements();
  97.  
  98.       for(int var3 = 0; var3 < var0.length; ++var3) {
  99.          SizeRequirements var4 = var0[var3];
  100.          int var5 = (int)(var4.alignment * (float)var4.minimum);
  101.          int var6 = var4.minimum - var5;
  102.          var1.minimum = Math.max(var5, var1.minimum);
  103.          var2.minimum = Math.max(var6, var2.minimum);
  104.          var5 = (int)(var4.alignment * (float)var4.preferred);
  105.          var6 = var4.preferred - var5;
  106.          var1.preferred = Math.max(var5, var1.preferred);
  107.          var2.preferred = Math.max(var6, var2.preferred);
  108.          var5 = (int)(var4.alignment * (float)var4.maximum);
  109.          var6 = var4.maximum - var5;
  110.          var1.maximum = Math.max(var5, var1.maximum);
  111.          var2.maximum = Math.max(var6, var2.maximum);
  112.       }
  113.  
  114.       int var8 = (int)Math.min((long)var1.minimum + (long)var2.minimum, 2147483647L);
  115.       int var11 = (int)Math.min((long)var1.preferred + (long)var2.preferred, 2147483647L);
  116.       int var14 = (int)Math.min((long)var1.maximum + (long)var2.maximum, 2147483647L);
  117.       float var7 = 0.0F;
  118.       if (var8 > 0) {
  119.          var7 = (float)var1.minimum / (float)var8;
  120.          var7 = var7 > 1.0F ? 1.0F : (var7 < 0.0F ? 0.0F : var7);
  121.       }
  122.  
  123.       return new SizeRequirements(var8, var11, var14, var7);
  124.    }
  125.  
  126.    public static SizeRequirements getTiledSizeRequirements(SizeRequirements[] var0) {
  127.       SizeRequirements var1 = new SizeRequirements();
  128.  
  129.       for(int var2 = 0; var2 < var0.length; ++var2) {
  130.          SizeRequirements var3 = var0[var2];
  131.          var1.minimum = (int)Math.min((long)var1.minimum + (long)var3.minimum, 2147483647L);
  132.          var1.preferred = (int)Math.min((long)var1.preferred + (long)var3.preferred, 2147483647L);
  133.          var1.maximum = (int)Math.min((long)var1.maximum + (long)var3.maximum, 2147483647L);
  134.       }
  135.  
  136.       return var1;
  137.    }
  138.  
  139.    public String toString() {
  140.       return "[" + this.minimum + "," + this.preferred + "," + this.maximum + "]@" + this.alignment;
  141.    }
  142. }
  143.